home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
WINSOUND
/
CHIMES.ZIP
/
CHIMES.TXT
< prev
next >
Wrap
Text File
|
1993-08-14
|
4KB
|
106 lines
Chimes
by
David C. Elliott
Chimes is a primitive MIDI random "music" generator
for Windows.
You could call it an algorithmic music program, though
it's not very sophisticated. All it does is to attach
relative probability values (0-100) to the MIDI notes,
and then pick a note from that probability space. The
probabilities are set by the various buttons, which are
described later.
To get started, just hit the Play button. If you don't
hear anything, move the channel slider up to the high
end of the range (I developed the program on a MultiSound,
and didn't think about users of 4-channel synth cards).
The channel and program sliders set the MIDI channel and
program number (a program change message is sent each
time it is changed and when the channel is changed).
The volume sliders set the MIDI velocity value range. A
random value in that range is selected. If the SHIFT
key is held while changing one value, the other value is
changed by the same amount (within constraints).
The length sliders work similarly, setting the length
range for the notes.
The note range sliders also work similarly.
The rest probability slider sets the probability that
no note will be played. This is an actual probability,
not a relative one (that is, the program starts by
deciding whether or not to rest, so a rest probability of
100 means silence).
The Play/Stop button at the bottom starts the ball rolling.
OK, now to the note probability buttons. In all cases, if
you hit the button with the SHIFT key down, all notes are
affected. Otherwise, only the notes in the current range
are affected. The buttons work as follows:
Reset - Sets all probabilities to 50.
Randomize - Sets all probabilities to a random value.
Increase - Increases all probabilities by 5.
Decrease - Guess.
Wiggle - Increases or decreases the probabilities
by a random number up to 5.
Invert - Sets all probabilities to 100 - the current
value.
Swap - Swaps the note probabilities around the center
of the range. For example, if the range is
F3 to A4, F3 and A4 swap values, F#3 and G#4
swap values, and so forth.
Zero - Sets all probabilities to 0.
Major, Minor, Fourths, and Fifths - These all set the
probabilities so that only the corresponding notes
(major scale, minor scale, root and fourth, and
root an fith) are played. The base note is the
lowest note in the range (unless SHIFT is held,
of course).
You don't get a display of the values (sorry), but you
should be able to guess what the values are.
All settings are saved on exit.
In general, I find that the most interesting things
come from playing fast and even and without much
range (hmm, sounds a bit like disco, doesn't it?).
For example, check out program 17 with a length
range of [85,85], 0 rest probability, and range [F2,G6].
Channel 16 (drums) is also kind of neat this fast,
but the range [D4,D5] works a bit better.
The user interface is pretty dumpy, especially in the area
of display (I don't have time to create a nice MAX-style
Table object, which is what this cries out for), and the
program could do more things. The Open menu item does nothing
at this point. I intended to make it possible to save and
open settings files, but obviously haven't done so yet.
As it stands, I'd say I'm through with Chimes. I'm more
likely to develop a larger system for doing connected
algorithms and have this be one of the algorithms. Anyone
interested in this project is welcome to write.
DropTrash is Copyright 1993 by David C. Elliott. It
is freeware and source is included. If you have any
suggestions for improving it, or for other freeware
programs I can develop, contact me as dce@netcom.com.